package com.lili.dt;

/**
 * @Auther: 李 力
 * @Date: 2024/8/13
 * @Description: 打家劫舍
 * @version: 1.0
 */
public class LeetCode198 {

    /*
     * 思路:动态规划
     * 时间复杂度: O(nums.len)
     * 空间复杂度: O(nums.len)
     * */
    public int rob(int[] nums) {
        if (nums.length == 1) {
            return nums[0];
        }
        int[] dp = new int[nums.length];
        dp[0] = nums[0];
        dp[1] = Math.max(nums[1], nums[0]);
        for (int i = 2; i < nums.length; i++) {
            dp[i] = Math.max(dp[i - 2] + nums[i], dp[i - 1]);
        }
        return dp[nums.length - 1];
    }
}
